package com.welink.cmp.convertor;

import java.util.List;
import java.util.stream.Collectors;

import com.welink.cmp.dao.vender.VendorAccountDO;
import com.welink.cmp.dto.vendor.VendorAccountCO;
import org.springframework.beans.BeanUtils;

public class VendorAccountConvertor {

    // 单个DO转换为CO
    public static VendorAccountCO toCO(VendorAccountDO vendorAccountDO) {
        if (vendorAccountDO == null) {
            return null;
        }
        VendorAccountCO vendorAccountCO = new VendorAccountCO();
        BeanUtils.copyProperties(vendorAccountDO, vendorAccountCO);
        return vendorAccountCO;
    }

    // 单个CO转换为DO
    public static VendorAccountDO toDO(VendorAccountCO vendorAccountCO) {
        if (vendorAccountCO == null) {
            return null;
        }
        VendorAccountDO vendorAccountDO = new VendorAccountDO();
        BeanUtils.copyProperties(vendorAccountCO, vendorAccountDO);
        return vendorAccountDO;
    }

    // List<DO>转换为List<CO>
    public static List<VendorAccountCO> toCOList(List<VendorAccountDO> vendorAccountDOList) {
        if (vendorAccountDOList == null) {
            return null;
        }
        return vendorAccountDOList.stream()
                .map(VendorAccountConvertor::toCO)
                .collect(Collectors.toList());
    }

    // List<CO>转换为List<DO>
    public static List<VendorAccountDO> toDOList(List<VendorAccountCO> vendorAccountCOList) {
        if (vendorAccountCOList == null) {
            return null;
        }
        return vendorAccountCOList.stream()
                .map(VendorAccountConvertor::toDO)
                .collect(Collectors.toList());
    }
}
